package com.kl.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kl.model.User;
import org.apache.ibatis.annotations.Select;

/**
 * 使用代码生成器生成的 mapper 接口中，其继承了 BaseMapper 接口。
 * 而 BaseMapper 接口中封装了一系列 CRUD 常用操作，可以直接使用，
 * 而不用自定义 xml 与 sql 语句进行 CRUD 操作（当然根据实际开发需要，自定义 sql 还是有必要的）
 *
 * @author superlkl
 */
public interface UserMapper extends BaseMapper<User> {

    /**
     * 根据id查询用户信息
     *
     * @param id 用户id
     * @return 用户
     */
    @Select("select * from t_user where id=#{id};")
    User getUserById(Long id);

    /**
     * 根据用户ID查询用户名
     *
     * @param id 用户id
     * @return 用户名
     */
    String getUserNameById(Long id);

    /**
     * 逻辑恢复 --- 对应逻辑删除
     *
     * @param id 恢复的ID
     * @return 数据
     */
    int recoveryById(Long id);

    /**
     * 逻辑恢复所有的数据
     *
     * @return 数据
     */
    int recoverAll();

    /**
     * 真正的删除所有数据
     * @return 删除的行数
     */
    int deleteAll();
}
